import java.io.FileReader;
import java.io.IOException;

public class day_06_IO_FileReader_01 {
    public static void main(String[] args) throws IOException {
        /*
         * 第一步：创建对象
         * public FileReader(File file) 创建字符输入流关联本地文件
         * public FileReader(String pathname) 创建字符输入流关联本地文件
         * 
         * 第二步：读取数据
         * public int read() 读取数据，读到末尾返回-1
         * public int read(char[] buffer) 读取多个数据，读到末尾返回-1
         * 
         * 第三步：释放资源
         * public void close() 释放资源/关流
         */

        FileReader fileReader = new FileReader("1.txt");
        int ch;

        /*
         * read（）细节：
         *      1.read（）：默认也是一个字节一个字节的读取的，如果遇到中文就会一次读取多
         *      2.在读取之后，方法的底层还会进行解码并转成十进制。最终把这个十进制作为返回值，这个十进制的数据也表示在字符集上的数字
         * 
         * 英文：文件里面二进制数据 0110 0001
         *      read方法进行读取，解码并转成十进制:97
         * 
         * 中文：文件里面的二进制数据11100110 10110001 10001001
         *      read方法进行读取，解码并转成十进制:27721
         * 
         * 如果想看到中文汉字，就是把这些十进制数据，再进行强转就可以了
         */

        while ((ch = fileReader.read()) != -1) {
            System.out.print((char)ch);
        }

        fileReader.close();
    }
}
